package com.hd.sup.modules.vehicle.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hd.sup.core.annotation.DataScope;
import com.hd.sup.modules.vehicle.model.Vehicle;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hd.sup.modules.vehicle.model.VehicleDailyStatis;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 车辆信息表 Mapper 接口
 * </p>
 *
 * @author chentl123
 * @since 2020-12-28
 */
public interface VehicleMapper extends BaseMapper<Vehicle> {
    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 车辆列表分页查询
     * @date 2020/12/31 3:08 下午
     * @params [page, vehicle]
     */
    @DataScope
    List<Map<String, Object>> pageList(@Param("page") Page page, @Param("vehicle") Vehicle vehicle);

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 查询所有市的车辆总数聚合数据
     * @date 2021/1/4 9:58 上午
     * @params [regionCode, lengthL, lengthR]
     */
    @DataScope
    List<Map<String, Object>> getAllVehicleMap(@Param("regionCode") String regionCode, @Param("lengthL") Integer lengthL, @Param("lengthR") Integer lengthR);

    /**
     * @return java.lang.Integer
     * @author chentl
     * @description 根据行政编码查询 该区域车辆总数
     * @date 2021/1/5 6:19 下午
     * @params [regionCode, deptIds]
     */
    Integer countVehicleNum(@Param("regionCode") String regionCode, @Param("transType") String transType, @Param("deptIds") List<String> deptIds);

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 查询所有车辆map，驼峰命名
     * @date 2021/3/11 4:20 下午
     * @params []
     */
    List<Map<String, Object>> selectAllMaps();
}
